Робота з колекціями та масивами

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Інші
Група:
ПІ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ  Звіт До лабораторної роботи № 4 На тему: “ Робота з колекціями та масивами ” З дисципліни : "Конструювання програмного забезпечення" Мета: Навчитися прицювати з колекціями System.Collections.Generic та масивами Завдання: На цій лабораторній необхідно реалізувати Кілька класів, що реалізують 4 взаємозв'язані об'єкти, які є у базі даних, та конструктор до них. "фіктивний об'єкт" - базу даних, який буде повертати список цих об'єктів (Щонайменше 4 для об'єктів які містять більше 9 полів, щонайменше 8 для решти) Вивести на консоль вміст усіх об'єктів перевизначивши метод ToStringО Відповідно до завдання реалізуйте декілька зв'язаних класів. Розробити "фіктивний об'єкт" (Mock-object), що симулює табличні дані. Перевизначити метод ToStringО. Використовуючи команду String.Format Вивести на консоль усі дані використовуючи цикл foreach. Розробити і заповнити структуру, у якій за ключем можна витягнути окремий клас, або їх список. Dictionary<Guid productID, Product> - хеш-таблиця продуктів. Dictionary<Guid categorylD, List<Product>> - хеш-таблиця категорій продуктів. За ключем категорії отримати список продуктів цієї категорії. Відсортувати за якимось критерієм використовуючи шаблон IComparer. Конвертувати списки в масив. Відсортувати масив за ім'ям. Відсортувати масив за кількістю елементів у зв'язаному з ним масиві, наприклад, відсортувати масив категорій за кількістю продуктів у них. Код програми Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace lab4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private static Dictionary<int, Room> RoomDictionary = new Dictionary<int, Room>(); private static Dictionary<int, List<Habitant>> HabitantDictionary = new Dictionary<int, List<Habitant>>(); List<LogIn> LogList; List<Room> RoomList; List<Account> AccountList; List<Habitant> HabitantList; private void button1_Click(object sender, EventArgs e) { Test DataBase = new Test(); LogList = DataBase.LogIn; RoomList = DataBase.Room; AccountList = DataBase.Account; HabitantList = DataBase.Habitant; OutData.Text = "Інформація про Жителів : \r\n"; foreach (Habitant hab in HabitantList) OutData.Text = OutData.Text + hab.ToString(); OutData.Text = OutData.Text + "\r\nІнформація про рахунки : \r\n"; foreach (Account acc in AccountList) OutData.Text = OutData.Text + acc.ToString(); OutData.Text = OutData.Text + "\r\nІнформація про кімнати: \r\n"; foreach (Room r in RoomList) OutData.Text = OutData.Text + r.ToString(); OutData.Text = OutData.Text + "\r\nІнформація про логіни: \r\n"; foreach (LogIn log in LogList) OutData.Text = OutData.Text + log.ToString(); //Запoвнення словників RoomDictionary.Clear(); foreach (Room r in RoomList) RoomDictionary.Add(r.RoomId, r); HabitantDictionary.Clear(); foreach (Habitant hab in HabitantList) if (HabitantDictionary.ContainsKey(hab.RoomId)) HabitantDictionary[hab.RoomId].Add(hab); else { List<Habitant> tmpList = new List<Habitant>(); tmpList.Add(hab); HabitantDictionary.Add(hab.RoomId, tmpList); } foreach (Room r in RoomList) UsersComboBox.Items.Add(r.RoomId); tabControl1.Enabled = true; } private void UserInformation_Click(object sender, EventArgs e) { if (UsersComboBox.Text == "") { Consol1.Text = "Не вибрано ID кімнати"; return; } Consol1.Text = string.Format("Інформація про кімнату з ID - {0:D3}\r\n\r\n", UsersComboBox.Text); Consol1.Text = Consol1.Text + RoomDictionary[int.Parse(UsersComboBox.Text)].ToString(); Consol1.Text = Consol1.Text + string.Format("Там проживають:\r\n\r\n", HabitantDictionary[int.Parse(UsersComboBox.Text)].Count); foreach (Habitant hab in HabitantDictionary[int.Parse(UsersComboBox.Text)]) Consol1.Text = Consol1.Text + hab.ToString(); } private class UserNameComparer : IComparer<Habitant> { public int Compare(Habitant x, Habitant y) { return string.Compare(x.Name, y.Name); } } private class UserTelephonComparer : IComparer<Habitant> { public int Compare(Habitant x, Habitant y) { if (x.NumTel == y.NumTel) return 0; if (x.NumTel < y.NumTel) return -1; if (x.NumTel > y.NumTel) return 1; return x.ToString().CompareTo(y.ToString()); } } private void Sort1_Click(object sender, EventArgs e) { if (radioButton1.Checked) { Console2.Clear(); HabitantList.Sort(new UserNameComparer()); foreach (Habitant hab in HabitantList) Console2.Text = Console2.Text + hab.ToString(); } if (radioButton2.Checked) { Console2.Clear(); HabitantList.Sort(new UserTelephonComparer()); foreach (Habitant hab in HabitantList) Console2.Text = Console2.Text + hab.ToString(); } } private void Sort2_Click(object sender, EventArgs e) { Habitant[] UsersArray = HabitantList.ToArray(); if (radioButton3.Checked) { Console3.Clear(); Array.Sort(UsersArray, new UserNameComparer()); foreach (Habitant hab in UsersArray) Console3.Text = Console3.Text + hab.ToString(); } if (radioButton4.Checked) { Console3.Clear(); Array.Sort(UsersArray,new UserTelephonComparer()); foreach (Habitant hab in UsersArray) Console3.Text = Console3.Text + hab.ToString(); } } } } Account.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Account { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private int accountid; public int AccountId { get { return accountid; } set { accountid = value; } } private long numaccount; public long NumAccount { get { return numaccount; } set { numaccount = value; } } private string typeaccount; public string TypeAccount { get { return typeaccount; } set { typeaccount = value; } } private int materbegin; public int MaterBegin { get { return materbegin; } set { materbegin = value; } } private int materend; public int MaterEnd { get { return materend; } set { materend = value; } } private int priceatone; public int PriceAtOne { get { return priceatone; } set { priceatone = value; } } private int sumtopayment; public int SumToPayment { get { return sumtopayment; } set { sumtopayment = value; } } public Account(int RId,int AId,int NA, string TA, int MB,int ME, int PAO,int STP) { RoomId = RId; AccountId = AId; NumAccount = NA; TypeAccount = TA; MaterBegin = MB; MaterEnd = ME; PriceAtOne = PAO; SumToPayment =STP; } public override string ToString() { return string.Format("ID кімнати - {0:D3},ID рахунку - {1:D3}, номер рахунку - {2}, тип рахунку - {3}, почаковий показник - {4},кінцевий показник - {5},ціна за одиницю - {6},сума до оплати - {7}\r\n\r\n", RoomId, AccountId, NumAccount, TypeAccount, MaterBegin, MaterEnd, PriceAtOne,SumToPayment); } } } Habitant.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Habitant { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private int habitantid; public int HabitantId { get { return habitantid; } set { habitantid = value; } } private string name; public string Name { get { return name; } set { name = value; } } private string lastname; public string LastName { get { return lastname; } set { lastname = value; } } private string patronymic; public string Patronimic { get { return patronymic; } set { patronymic = value; } } private long numtel; public long NumTel { get { return numtel; } set { numtel = value; } } public Habitant(int RId, int HId, string N, string LN, string Pat, long NT) { RoomId = RId; HabitantId = HId; Name = N; LastName = LN; Patronimic = Pat; NumTel = NT; } public override string ToString() { return string.Format("ID кімнати - {0:D3},ID жителя - {1},імя - {2}, прізвище - {3}, побатькові - {4}, телефон - {5}\r\n\r\n", RoomId,HabitantId,Name, LastName, Patronimic, NumTel); } } } LogIn.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class LogIn { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private string login; public string Login { get { return login; } set { login = value; } } private string pass; public string Pass { get { return pass; } set { pass = value; } } public LogIn(int RId, string log, string pas) { RoomId = RId; Login = log; Pass = pas; } public override string ToString() { return string.Format("ID Кімнати - {0:D3}, логін - {1}, пароль - {2},\r\n\r\n", RoomId, Login, Pass); } } } Room.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Room { private int roomid; public int RoomId { get { return roomid; } set { roomid = value; } } private int numroom; public int NumRoom { get { return numroom; } set { numroom = value; } } private int overroom; public int OverRoom { get { return overroom; } set { overroom = value; } } private int amoynthabitant; public int AmoyntHabitant { get { return amoynthabitant; } set { amoynthabitant = value; } } public Room(int RId, int NR, int OR, int AH) { RoomId = RId; NumRoom = NR; OverRoom = OR; AmoyntHabitant = AH; } public override string ToString() { return string.Format("ID кімнати - {0:D3},номер кімнати - {1}, поверх - {2}, кількість жителів - {3}\r\n\r\n", RoomId,NumRoom, OverRoom, AmoyntHabitant); } } } Test.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lab4 { class Test { public List<LogIn> LogIn = new List<LogIn>() { new LogIn(001,"archi","123"), new LogIn(002,"sonik","321"), new LogIn(003,"Losa","1357"), new LogIn(004,"Dukuj","246"), }; public List<Room> Room = new List<Room>() { new Room(001,12,1,2), new Room(002,15,1,1), new Room(003,26,2,3), new Room(004,100,4,1), }; public List<Habitant> Habitant = new List<Habitant>() { new Habitant(001,011,"Віктор","Павлик","Романович",80327654822), new Habitant(001,012,"Ганна","Павлик","Михайлівна",80974563219), new Habitant(002,021,"Наталя","Лев","Іванівна",80993452167), new Habitant(003,031,"Катя","Зискун","Степанівна",80964356222), new Habitant(003,032,"Саша","Музика","Ігорівна",80661111999), new Habitant(003,033,"Оксана","Лешко","Іванівна",80973435222), new Habitant(004,041,"Тарас","Шпить","Богданович",80632367854), }; public List<Account> Account = new List<Account>() { new Account(001,123,029911,"Електроенергія",234,321,1,87), new Account(002,134,019991,"Водопостачання",345,409,2,128), new Account(003,144,092222,"Опалення",123,234,3,333), new Account(004,111,099944,"Водопостачання",111,156,2,90), new Account(002,112,098777,"Опалення",222,435,3,639), }; } } Результати виконання   
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!